home *** CD-ROM | disk | FTP | other *** search
/ Chip 2005 August (Alt) / CHIP 2005-08.1.iso / program / guvenlik / syslinux-3.07.exe / com32 / lib / strncasecmp.c < prev    next >
Encoding:
C/C++ Source or Header  |  2004-11-10  |  455 b   |  24 lines

  1. /*
  2.  * strncasecmp.c
  3.  */
  4.  
  5. #include <string.h>
  6. #include <ctype.h>
  7.  
  8. int strncasecmp(const char *s1, const char *s2, size_t n)
  9. {
  10.   const unsigned char *c1 = s1, *c2 = s2;
  11.   unsigned char ch;
  12.   int d = 0;
  13.  
  14.   while ( n-- ) {
  15.     /* toupper() expects an unsigned char (implicitly cast to int)
  16.        as input, and returns an int, which is exactly what we want. */
  17.     d = toupper(ch = *c1++) - toupper(*c2++);
  18.     if ( d || !ch )
  19.       break;
  20.   }
  21.  
  22.   return d;
  23. }
  24.